iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0

在過去我們寫程式常常會遇到以下這種情形

let statusA = 0;

const B = ()=>{
	if(abc === '1'){
		statusA = 1
	}
	return xxxx
	........
}

const C = ()=>{
	if(cba === '20'){
		statusA = 10
	}
	return ooooo
	.........
}

在這樣的情境下,雖然 function B 和 C 都是單獨的 scope,但是在執行程式時,

都會去改動到 statusA,如果程式碼一多,不只改動一個狀態,這樣就會造成不知道誰改動誰,

執行程式時不只回傳值,還會造成其他的狀態或程式受影響,這就是所謂的 side effect,

那為了改善這樣的寫法,便有 function programming 簡稱 FP 的模式發明,為了改善這種充滿

side effect 的程式,達到固定 import 以及固定 output 的 pure function。下一篇我們就來認識 FP 吧。


上一篇
day15: 模組化好的寫法 - 只公開必要的 Interface 和狀態管理
下一篇
day17:First-class function
系列文
寫出好維護又簡潔的 react 程式碼 feat: Function Programming30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言